JSON-LD
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
top
JSON-LD, ou JavaScript Object Notation for Linked Data, est une méthode permettant d'encoder des données structurées (en anglais linked data) en utilisant du JSON. Le but est de fournir un moyen simple aux développeurs de transformer des données existantes en JSON vers du JSON-LDcite-ref-1[1]. Cela permet de sérialiser des données de la même manière qu'avec du JSON traditionnelcite-ref-2[2]. JSON-LD est une recommandation du World Wide Web Consortium et, par conséquent, est considéré comme un standardcite-ref-3[3]. JSON-LD est développé par le JSON for Linking Data Community Group.
Contents
• Design
• Exemple
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
Design
JSON-LD est pensé autour du concept de « contexte » afin de fournir des associations depuis du JSON vers un modèle RDF. Ce contexte permet de lier des propriétés d'objets d'un document JSON vers des concepts dans une ontologie. Afin de faire le lien entre la syntaxe JSON-LD vers RDF, JSON-LD permet de convertir des valeurs en un type spécifié ou d'être étiqueté avec une langue. Un contexte peut être directement intégré dans un document JSON-LD ou placé dans un fichier séparé et référencé à partir de différents documents (à partir de documents JSON traditionnels via un lien d'en-tête HTTP).
Exemple
{
"@context": {
"name": "http://xmlns.com/foaf/0.1/name",
"homepage": {
"@id": "http://xmlns.com/foaf/0.1/workplaceHomepage",
"@type": "@id"
},
"Person": "http://xmlns.com/foaf/0.1/Person"
},
"@id": "http://me.example.com",
"@type": "Person",
"name": "John Smith",
"homepage": "http://www.example.com/"
}
L'exemple ci-dessus décrit une personne basée sur l'ontologie RDF FOAF. Premièrement, les deux propriétés JSON name et homepage et le type Person sont mappés aux concepts du vocabulaire FOAF. Dans ce context, la valeur de la propriété homepage est spécifiée comme étant de type @id, c'est-à-dire qu'elle est spécifiée comme IRI dans la définition du contexte. Basé sur le modèle RDF, cela permet à la personne décrite dans le document d'être identifiée sans ambiguïté par un IRI. L'utilisation d'IRI résolvables permet aux documents RDF contenant plus d'informations d'être transcludés, ce qui permet aux clients de découvrir de nouvelles données simplement en suivant ces liens.
En ayant annoté sémantiquement toutes les données comme dans l'exemple, un parseur RDF peut identifier que le document contient des informations sur une personne (@type) et si le parseur comprend le vocabulaire FOAF, il peut déterminer quelles propriétés spécifient le nom de la personne et page d'accueil.
Cas d'utilisation
Implémentations
Notes et références
cite-note-11. ↑ 2011« JSON-LD Syntax 1.0 », 27 décembre 2011 (consulté le 30 décembre 2011)
cite-note-22. ↑ « On Using JSON-LD to Create Evolvable RESTful Services », M. Lanthaler and C. Gütl in Proceedings of the 3rd International Workshop on RESTful Design (WS-REST 2012) at WWW2012.
cite-note-33. ↑ « What does "Web standard" mean? What is a "Recommendation"? »
cite-note-44. ↑ 2014« The Origins of JSON-LD », 19 janvier 2014
cite-note-55. ↑ 2014« A JSON-based Serialization for Linked Data », 14 janvier 2014
cite-note-66. ↑ (en) « Method Entities in Search », sur Google Developers (consulté le 17 octobre 2017)
Voir aussi
Articles connexes
• TopoJSON : un format de stockage des données topologiques ;
• GeoJSON : un format de stockage des données géographiques ;
• YAML : un autre langage de sérialisation de données.
Liens externes
• (en) Site officiel
• (en) Dépôt GitHub
• (en) Spécification du JSON for Linking Data W3C Community Group
• (en) W3C Recommendation
• Portail de l’informatique
• Portail de la programmation informatique
• Portail du Web sémantique
• Portail des données